1. Field of the Invention
The invention relates to industrial communication systems and, more particularly, to a method for transmitting data in a communication network of an industrial automation system.
2. Description of the Related Art
In general, an industrial automation system comprises a multiplicity of automation devices networked to one another via an industrial communication network and is used to control or regulate installations, machines or devices during production or process automation. On account of time-critical framework conditions in technical systems automated using industrial automation systems, real-time communication protocols, such as PROFINET, PROFIBUS or real-time Ethernet, are predominantly used for communication between automation devices in industrial communication networks.
Interruptions in communication connections between computer units of an industrial automation system or automation devices may result in undesirable or unnecessary repetition of the transmission of a service request. This causes an additional use of communication connections of the industrial automation system, which may result in further system disruptions or faults. A particular problem in industrial automation systems regularly results from message traffic having a comparatively large number of relatively short messages, thus intensifying the above problems.
On account of use for often extremely different applications, problems may arise in Ethernet-based communication networks, for example, if network resources for transmitting short data frames with real-time requirements are used in competition for transmitting data frames with a large useful data content. This may result in delayed transmission of the data frames with real-time requirements or even in a loss of individual data frames of this type.
Prioritized transmission of data frames is fundamentally possible, for example, based on virtual local area networks (ULAN) in accordance with Institute of Electrical and Electronics Engineers (IEEE) 802.1Q standard using corresponding tags inserted into data frames. According to the IEEE 802.1Qav standard, bandwidth reservation for individual communication connections that are assigned the highest priority is provided for the synchronized and prioritized transmission of audio and video data streams (audio/video bridging) via communication networks. Here, resources needed to transmit audio and video data streams are reserved in communication devices, such as switches. However, high-priority data frames are forwarded only after successful reservation. During bandwidth monitoring, it is ensured that there is sufficiently reserved bandwidth with respect to the actually used bandwidth. A communication connection that uses more bandwidth than is reserved would otherwise result in a disruption in an entire communication network and, in the worst-case scenario, would result in a standstill of the communication network on account of overloading.
According to the IEEE 802.1 Qbv standard, credit-based shapers (CBS) have been defined as a measure of bandwidth monitoring for the secure transmission of audio and video data streams via Ethernet-based communication networks. Credit-based shapers are used to define a transmission pause after each transmitted data frame to ensure bandwidth limiting with respect to a reserved bandwidth. However, such compulsory pauses are extremely problematic in industrial automation systems when transmitting a large number of data frames with a low useful data content for control data, which rather can be considered to be data bundles or bursts. This is because control data must usually be transmitted and processed within a processing cycle. For example, at the start of a processing cycle, all sensors transmit control data to an assigned programmable logic controller. After subsequent calculation based on control data received from the sensors, the programmable logic controller transmits control data to actuators of the industrial automation system. A new sensor data query is then effected inside a next processing cycle. So that sufficient time remains for processing control data within a processing cycle, data frames containing control data should be transmitted as far as possible at the start of a processing cycle, in particular if decentralized peripherals or decentralized input and output units are used.
WO 2014/072374 A1 discloses a method for transmitting multicast data streams in an industrial automation system using link state routing protocols, in which routing tables are not calculated for all possible node-to-node connections but rather only for selected time-critical paths, in particular between “talkers” as data sources and “listeners” as subscribers of data sources in industrial automation systems. In order to calculate routing paths in such communication networks, information describing communication relationships is distributed inside the communication network using a link state routing protocol. The information relating to communication relationships comprises, for example, details of a summary of communication subscribers inside a multicast path or “talkers” and associated “listeners”.
An older European patent application, having application number 13176454.0, describes a method for transmitting data frames using a communication device of an industrial automation system, in which a transmission priority is respectively assigned to data frames to be transmitted using the communication device. A transmitted data volume is recorded for data frames that are transmitted via at least one selected terminal of the communication device and have a transmission priority above a predefinable priority threshold value. The transmitted data volume is recorded periodically inside at least one monitoring cycle. The data volume recorded for each monitoring cycle pass is monitored for the exceeding of a predefinable volume threshold value. If the volume threshold value for a monitoring cycle pass is exceeded, the selected terminal is blocked against transmission of data frames having a transmission priority above the priority threshold value during a blocking time until an end of the respective monitoring cycle pass.